home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-02-03 | 3.4 KB | 81 lines |
- 100 'PROGRAM FOR PRINTING DISK DIRECTORY
- 110 'ON LABELS FOR THE IBM-PC
- 120 ' BY JURGEN G. SCHMIDT
- 130 ' SAN ANTONIO, TX
- 140 ' DECEMBER 1982
- 150 ' REQUIRES 3 1/2 X 15/16 INCH LABELS
- 151 '
- 152 ' *************************************************************
- 155 ' * MODIFIED TO INCORPORATE A MORE USER-FRIENDLY INTERFACE BY:*
- 156 ' * LON MARTIN *
- 157 ' * % ROLM CORPORATION *
- 158 ' * 10000 MARSHALL DRIVE *
- 159 ' * LENEXA, KANSAS 66215 *
- 160 ' * FEBRUARY 1, 1985 *
- 161 ' *************************************************************
- 162 '
- 170 CLEAR:CLS 'RESET VARIBLES, PREPARE SCREEN
- 180 DIM FIL$(100) 'SET ARRAY FOR FILE NAMES
- 190 FILES "B:" 'DISPLAY DIRECTORY
- 200 LPRINT CHR$(15); 'SET COMPRESSED PRINT
- 201 LPRINT CHR$(27)"0"; 'SET TO 8 LINES PER INCH
- 210 'ROW=POINTER C=COLUMN POINTER
- 220 'I=COLUMN INDEX POINTER F=FILE POINTER
- 230 R=2:I=1:F=1 'INITIALIZE POINTERS
- 240 FOR C=I TO I+11 'LOOP TO GET 12 CHARACTERS (1 FILENAME)
- 250 A=SCREEN(R,C) 'GET CHARACTER FROM SCREEN AS ASCII CODE
- 260 A$=CHR$(A) 'CONVERT CODE TO CHARACTER
- 270 FIL$(F)=FIL$(F)+A$ 'BUILD FILENAME
- 280 IF C=I AND A$=" " THEN 360 'CHECK IF FIRST CHARACTER IS A BLANK
- 290 NEXT 'IF IT IS THEN END OF DIRECTORY IS FOUND
- 300 '
- 310 I=I+18:F=F+1 'INCREMENT FILE POINTER AND INDEX
- 320 IF I>72 THEN GOTO 340 'CHECK IF LAST FILENAME IN ROW
- 330 GOTO 240 'NEXT FILENAME
- 340 R=R+1:I=1 'NEXT ROW RESET INDEX
- 350 GOTO 240 'NEXT FILENAME
- 355 '
- 360 ' PROGRAM NOW OFFERS YOU A CHOICE...ALIGNMENT ROUTINE <Y or N>.
- 365 '
- 380 PRINT :PRINT :PRINT" ******* PRINTER SET UP *******"
- 385 PRINT :PRINT" PRINTER ALIGNMENT ROUTINE ? <Y or N>"
- 386 C$=INKEY$:IF C$="" OR C$="" THEN 386
- 387 IF C$="N" OR C$="n" THEN 600
- 388 IF C$="Y" OR C$="y" THEN 390
- 389 GOTO 386
- 390 '
- 400 '
- 410 '
- 420 '
- 430 '
- 460 ' 'PRINT LINE-UP
- 470 LPRINT "L TOP OF LABEL R"
- 480 LPRINT "L R"
- 490 LPRINT "L R"
- 500 LPRINT "L R"
- 510 LPRINT "L R"
- 520 LPRINT "L BOTTOM OF LABEL R"
- 530 LPRINT :LPRINT
- 540 '
- 550 PRINT :PRINT " IF LINE-UP IS CORRECT HIT <SPACEBAR>"
- 560 PRINT :PRINT " OTHERWISE HIT THE 'R' KEY TO RETRY"
- 570 PRINT :PRINT
- 580 B$=INKEY$:IF B$="R" OR B$="r" THEN GOTO 470 ELSE IF B$=" " THEN 600
- 590 GOTO 580
- 600 I=1 'PRINT THE LABELS
- 610 L=1
- 620 LPRINT FIL$(I) TAB(16) FIL$(I+1) TAB(31) FIL$(I+2) TAB(46) FIL$(I+3)
- 630 L=L+1:IF L>6 THEN 650 ELSE 640
- 640 I=I+4:IF I>F+4 THEN 670 ELSE GOTO 620
- 650 LPRINT :LPRINT :I=I+4:GOTO 610 'SKIP 2 LINES AND START NEXT LABEL
- 660 '
- 670 FOR K=L TO 8:LPRINT :NEXT 'SPACE TO TOP OF NEXT LABEL
- 680 CLS
- 690 LOCATE 10,22:PRINT "DO YOU WANT LABELS FOR ANOTHER DISK?"
- 700 LOCATE 12,36:PRINT "<Y or N>"
- 705 A$=INKEY$:IF A$="" THEN 705
- 710 IF A$="Y" OR Y$="y" THEN 720 ELSE 740
- 720 CLS:LOCATE 10,18:PRINT "INSERT NEW DISK AND HIT <SPACE BAR> WHEN READY"
- 730 A$=INKEY$:IF A$=" " THEN 170 ELSE 730
- 740 CLS:SYSTEM
-